package com.fuhailiu.opengl.utils;

public class MathUtil {

	/**
	 * 求最大公约数
	 */
	public static int gcd(int a, int b) {
		if (a > b) {
			int temp = a;
			a = b;
			b = temp;
		}
		while (b % a != 0) {
			int ys = b % a;
			b = a;
			a = ys;
		}
		return a;
	}

	/**
	 * 产生指定范围的随机数
	 * 
	 * @param min
	 *            最小值
	 * @param max
	 *            最大值
	 * @return 随机数，而且满足 min <= 结果 <= max
	 */
	public static int makeRandomInt(int min, int max) {
		if (min > max || min < 0 || max < 0) {
			return -1;
		}
		int num = (int) (Math.random() * (max - min + 1)) + min;
		return num;
	}

	/**
	 * 角度转换为弧度
	 * 
	 * @param degree
	 *            角度值
	 * @return 弧度值
	 */
	public static double deg2rad(double degree) {
		return Math.toRadians(degree);
	}

	/**
	 * 弧度转换为角度
	 * 
	 * @param radian
	 *            弧度值
	 * @return 角度值
	 */
	public static double rad2deg(double radian) {
		return Math.toDegrees(radian);
	}

}
